"""
成员方法

类的使用语法
- class 是关键字，表示定义类
- 成员变量：类的属性, 即定义在类中变量
- 成员方法：类的行为，即定义在类中的函数

=====================================================
在类中定义的行为（函数），我们称之为：成员方法
在类外定义的行为（函数），我们称之为：函数

=====================================================
成员方法的定义，和函数有细微区别

def 方法名(self, 形参....):
    方法体

- 方法定义的参数列表中，有一个：self关键字
- self关键字是成员方法定义的时候，必须填写的。
-- 它用来表示类对象自身的意思
-- 当我们使用类对象调用方法的是，self会自动被python传入
-- 在方法内部，想要访问类的成员变量，必须使用self

注意：self关键字，尽管在参数列表中，但是传参的时候可以忽略它。

=====================================================
"""


# 设计一个对象
class student:
    name = None  # 记录学生姓名

    def say_hi(self):
        print(f"hi，我是{self.name},你好哇")


# 创建一个对象
stu_1 = student()
stu_1.name = "小叮当"
# 忽略 self
stu_1.say_hi()


class Clock:
    id = None  # 序列化
    price = None  # 价格

    def ring(self):
        import winsound

        winsound.Beep(2000, 3000)  # 2000表示响铃的频率，3000表示响铃的时间


# 构建两个闹钟对象并让其工作
clock1 = Clock()
clock1.id = "008032"
clock1.price = 19.99
print(f"闹钟ID：{clock1.id}, 价格：{clock1.price}")
clock1.ring()

clock2 = Clock()
clock2.id = "001234"
clock2.price = 24.99
clock2.ring()
print(f"闹钟ID：{clock2.id}, 价格：{clock2.price}")
